package com.dinzeer.sjapadder.register;

import mods.flammpfeil.slashblade.slasharts.SlashArts;
import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.RegistryObject;

import static com.dinzeer.sjapadder.Sjap_adder.MODID;

public class SjaSlashArtRegistry {
    public static final DeferredRegister<SlashArts> SLASH_ARTS =
            DeferredRegister.create(SlashArts.REGISTRY_KEY, MODID);
    public static final RegistryObject<SlashArts> Dance = register("fire_dance", SjaComboRegistry.Dance.getId());
    public static final RegistryObject<SlashArts> BurningDances = register("burning_dances", SjaComboRegistry.BurningDances.getId());
    public static final RegistryObject<SlashArts> SAKURA_WAVE_EDGE = register("sakura_wave_edge", SjaComboRegistry.SAKURA_WAVE_EDGE_LEFT.getId());
    public static final RegistryObject<SlashArts> terrifyingwaves = register("terrifyingwaves", SjaComboRegistry.terrifyingwaves.getId());
    public static final RegistryObject<SlashArts> lightinggwaves = register("lightinggwaves", SjaComboRegistry.lightinggwaves.getId());
    public static final RegistryObject<SlashArts> forLife = register("for_life", SjaComboRegistry.forLife.getId());
    public static final RegistryObject<SlashArts> forLifeDrive = register("for_life_drive", SjaComboRegistry.forLifeDrive.getId());
    public static final RegistryObject<SlashArts> ColdDrive = register("cold_drive", SjaComboRegistry.ColdDrive.getId());
    public static final RegistryObject<SlashArts> illusionDrive = register("illusion_drive", SjaComboRegistry.illusionDrive.getId());
    public static final RegistryObject<SlashArts> RainBowDrives = register("rainbow_drives", SjaComboRegistry.RainBowDrives.getId());
    public static final RegistryObject<SlashArts> SuperBloodCuts = register("super_blood_cuts", SjaComboRegistry.SuperBloodCuts.getId());
    public static final RegistryObject<SlashArts> WaveEdgeSupers = register("wave_edge_supers", SjaComboRegistry.WaveEdgeSupers.getId());
    public static final RegistryObject<SlashArts> DarkCuts = register("dark_cuts", SjaComboRegistry.DarkCuts.getId());
    public static final RegistryObject<SlashArts> DarkCutsEX = register("dark_cuts_ex", SjaComboRegistry.DarkCutsEX.getId());
    public static final RegistryObject<SlashArts> SAKURA_DRIVE = register("sakura_drive", SjaComboRegistry.SAKURA_DRIVE_LEFT.getId());
    public static final RegistryObject<SlashArts> XrossThunder = register("xross_thunder", SjaComboRegistry.XrossThunder.getId());
    public static final RegistryObject<SlashArts> EXPLOSIVE_DAWN = register("explosive_dawn", SjaComboRegistry.EXPLOSIVE_DAWN.getId());

    public static RegistryObject<SlashArts> register(String name, ResourceLocation rs) {
        return SLASH_ARTS.register(name, () -> new SlashArts((e) -> rs));
    }


    public static void register(IEventBus a) {
        SLASH_ARTS.register(a);
    }
}
